package cn.skylark.wcm.dao;

import cn.skylark.wcm.common.BaseDao;
import cn.skylark.wcm.entity.Resources;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

/**
 * 权限表Dao层
 * @author chuhl
 * @since
 */
public interface ResourcesDao extends BaseDao<Resources>{
    /**
     * 取得所有权限
     * @return List<Resources>
     */
    List<Resources> queryAll();

    /**
     *  取得指定用户权限
     * @param map Map<String, Object>
     * @return List<Resources>
     */
    List<Resources> loadUserResources(Map<String, Object> map);

    /**
     * 取得被指定的权限
     * @param rid Integer
     * @return List<Resources>
     */
    List<Resources> queryResourcesListWithSelected(Integer rid);

    /**
     * 通过租户id 获得租户的所有权限
     * @param map 用户id 和查询条件
     * @return
     */
    List<Resources> queryAllResourceWithUserid(Map<String,Object> map);

    /**
     * 逻辑删除权限
     * @param resources
     */
    void updateById(Resources resources);
    /**
     * 通过租户id 获得租户的所有权限
     * @param tenanid 租户id
     * @return
     */
    List<Resources> queryAllResourceWithTenanId( Integer tenanid );
    /**
     * 通过用户id 获得所有权限（系统登录用）
     * @param userid 用户id
     * @return 返回所有权限
     */
    List<Resources> getResourceWithUserid(Integer userid);
}
